home *** CD-ROM | disk | FTP | other *** search
/ Personal Computer World 2009 February / PCWFEB09.iso / Software / Linux / Kubuntu 8.10 / kubuntu-8.10-desktop-i386.iso / casper / filesystem.squashfs / usr / share / snmp / mib2c-data / node-validate.m2i < prev    next >
Text File  |  2008-09-22  |  2KB  |  72 lines

  1. #############################################################  -*- c -*-
  2. ## generic include for XXX. Do not use directly.
  3. ##
  4. ## $Id: node-validate.m2i 12101 2005-04-20 22:45:01Z rstory $
  5. ##
  6. ## assumes an integer rc is available and will be tested by caller
  7. ##
  8. ########################################################################
  9. @if $m2c_mark_boundary == 1@
  10. /** START code generated by $RCSfile$ $Revision: 12101 $ */
  11. @end@
  12. ########################################################################
  13. ##----------------------------------------------------------------------
  14. ## setup
  15. ##----------------------------------------------------------------------
  16. @if $node.enums == 1@
  17. ##------------------------------------------------------
  18. @   if "$node.perltype" ne "BITS"@
  19.     /* check that the value is one of defined enums */
  20.     if( (SNMPERR_SUCCESS == rc)
  21. @      foreach $e $v enum@
  22. @         include m2c_setup_enum.m2i@
  23.  && ( $m2c_nv_val != $m2c_ename )
  24. @      end@ # for each
  25.         ) {
  26.         rc = SNMP_ERR_WRONGVALUE;
  27.         }
  28. ##------------------------------------------------------
  29. @   else@ # BITS
  30. ## {
  31.     if($m2c_nv_len > 4) {
  32.         snmp_log(LOG_ERR,"I can not handle BITS > 4 bytes\n");
  33.         rc = SNMP_ERR_GENERR;
  34.     }
  35.     else if (SNMPERR_SUCCESS == rc){
  36.         u_long bits = 0;
  37.         /* check that value is within enum mask */
  38.         memcpy( &bits, $m2c_nv_str, $m2c_nv_len);
  39.         if( (bits | $m2c_enum_mask) != $m2c_enum_mask)
  40.         rc = SNMP_ERR_WRONGVALUE;
  41.     }
  42. @   end@
  43. ##----------------------------------------------------------------------
  44. ## check RANGES
  45. ##----------------------------------------------------------------------
  46. @elsif $node.ranges == 1@
  47. @   if ("$node.decl" eq "long") || ("$node.decl" eq "u_long")@
  48. @      eval $m2c_nv_rc = "SNMP_ERR_WRONGVALUE"@
  49. @      eval $m2c_nv_tmp = "$m2c_nv_val"@
  50. @   else@
  51. @      eval $m2c_nv_rc = "SNMP_ERR_WRONGLENGTH"@
  52. @      eval $m2c_nv_tmp = "$m2c_nv_len"@
  53. @   end@
  54.     /* check defined range(s). */
  55.     if( (SNMPERR_SUCCESS == rc)
  56. @      foreach $a $b range $node@
  57. @         if $a == $b@
  58.        && ($m2c_nv_tmp != $a)
  59. @         else@
  60.        && (($m2c_nv_tmp < $a) || ($m2c_nv_tmp > $b))
  61. @         end@
  62. @      end@
  63.      ) {
  64.         rc = $m2c_nv_rc;
  65.     }
  66. @end@
  67. ##
  68. ########################################################################
  69. @if $m2c_mark_boundary == 1@
  70. /** END code generated by $RCSfile$ $Revision: 12101 $ */
  71. @end@
  72.